package com.quan.pm.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import com.quan.commons.vo.BaseEntity;

/**
 * 项目管理-项目中心
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2023-02-27 21:01:30
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("pm_project_center")
public class PmProjectCenter extends BaseEntity implements Serializable{
private static final long serialVersionUID=1L;

    /**
     * ID
     */
    @TableId
    private Long id;

    /**
     * 部门ID
     */
    @NotNull(message = "项目所属部门不能为空")
    private Long deptId;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 部门经理ID
     */
    private Long deptOwnerId;

    /**
     * 部门经理
     */
    private String deptOwnerName;

    /**
     * 项目经理ID
     */
    private Long projectMgrId;

    /**
     * 项目经理
     */
    private String projectMgrName;

    /**
     * 项目名称
     */
    @NotNull(message = "项目名称不能为空")
    private String name;

    /**
     * 项目编码
     */
    private String code;

    /**
     * 项目开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd ")
    private LocalDate startDate;

    /**
     * 项目结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd ")
    private LocalDate endDate;

    /**
     * 项目状态【0：立项，1:审批，2：进行，3：挂起，4：结束】
     */
    private String status;

    /**
     * 项目备注
     */
    private String remarks;

    /**
     * 项目描述
     */
    private String description;

    /**
     * 项目创建人
     */
    private String cname;

    /**
     * 项目更新人
     */
    private String uname;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime ctime;

    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime utime;


}
